* lisp/emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 13 Nov 2012 03:00:09 +0000 (22:00 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 13 Nov 2012 03:00:09 +0000 (22:00 -0500)
commit8ed3bea28e066fcc24e8f7141c50ada0510b32b5
tree85c0091a3ba950e44635a65a42d78532d2b3f29a
parent751637b60f8f64f95c56f671ccbcdd4ee26fb99e
* lisp/emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to
override the default.
* lisp/emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using
cl--dotimes/dolist.
* lisp/subr.el (dolist, dotimes, declare): Redefine them normally, even when
`cl' is loaded.

* lisp/emacs-lisp/nadvice.el (advice--normalize): New function, extracted
from add-advice.
(advice--strip-macro): New function.
(advice--defalias-fset): Use them to handle macros.
(advice-add): Use them.
(advice-member-p): Correctly handle macros.
lisp/ChangeLog
lisp/emacs-lisp/cl-loaddefs.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/cl.el
lisp/emacs-lisp/nadvice.el
lisp/subr.el
test/automated/advice-tests.el